1. Field of the Invention
The present invention relates to a digital-analog converter for converting discrete digital data into continuous analog signals. In this specification, it is assumed that a case where function values have finite values except zero in a local region and become zero in regions different from the region is called a xe2x80x9clocal support.xe2x80x9d
2. Description of the Prior Art
In recent digital audio devices, for example, a CD (compact disk) player, etc., D/A (digital-analog) converter applying an over sampling technology to obtain continuous analog voice signals from the discrete music data(digital data). Such a D/A converter generally uses a digital filter to raise a pseudo sampling frequency by interpolating input digital data, and outputs smooth analog voice signals by passing each interpolation value through a low-pass filter after generating a staircase signal waveform with each interpolation value held by the sample holding circuit.
A data interpolating process is performed with a digital filter contained in a D/A converter using a sampling function generally referred to as a sinc function. FIG. 16 is an explanatory graph of a sinc function. This sinc function is obtained when a Dirac delta function is inverse-Fourier-transformed, and is defined as sin (xcfx80ft)/(xcfx80ft) where the sampling frequency is f. This sinc function becomes one only at a sample point, where t=0, and zero at all other sample points.
Conventionally, an oversampling process is performed using a digital filter in which a waveform data of the sinc function is set to a tap counter of an FIR (finite impulse response) filter.
In the oversampling technology for performing an interpolating operation on discrete voice data using a digital filter, a low-pass filter having a moderate attenuation characteristic can be applied. Therefore, the phase characteristic with a low-pass filter can approach a linear phase characteristic, and the sampling aliasing noise can be reduced. Such an effect becomes more outstanding with a higher pseudo sampling frequency. However, when a sampling frequency rises, the processing speed of the digital filter and the sample holding circuit is also increased. Therefore, expensive parts applied in the high-speed process are required, thereby raising the entire parts cost. In addition, when a high sampling frequency (for example, several MHz) is necessary for image data, etc., a digital filter for oversampling and a sample holding circuit have to be mounted using parts operated around several ten MHz to several hundred MHz, which cannot be easily realized.
In addition, even when the oversampling technology is used, a smooth analog signal is generated by passing a staircase signal waveform through a low-pass filter. Therefore, when a low-pass filter is used, a linear phase characteristic in the strict sense cannot be expected. Furthermore, the above mentioned sinc function is a function converging to 0 at xc2x1∞. Therefore, when a correct interpolation value is computed, all digital data values should be considered. However, for convenience of a circuit size, etc., the number of tap counters of a digital filter is set so as to the range of digital data to be taken into account is limited. Therefore, an obtained interpolation value contains a truncation error.
Thus, the conventional D/A converter using the oversampling technology requires parts for a high-speed operation to raise a pseudo sampling frequency, thereby incurring a high cost or realizing a necessary system with difficulty. Furthermore, the deterioration of the phase characteristic arises from using a low-pass filter, and a truncation error is contained because the digital filter to which a sinc function is applied is used. Therefore, distortion of output waveform according to the deterioration of the phase characteristic and the truncation error occurs.
The present invention has been developed based on the above mentioned problems, the object of the present invention is to provide a digital-analog converter capable of obtaining an output waveform with less distortion without increasing the speed of operating parts.
The digital-analog converter according to the present invention continuously generates an analog signal waveform corresponding to a sampling function of local support, synchronizes the generation of the signal waveform corresponding to the sampling function with the input timing of each piece of digital data, and adds the signal waveform obtained by amplifying the amplitude at a gain corresponding to the value of the digital data for n pieces of sequentially input digital data to generate a signal, thereby outputting continuous analog signals. Especially, to generate a signal waveform corresponding to each piece of digital data, it is desirable that a first generation unit includes the first delay unit and the amplifying unit for delaying and amplifying the signal waveform of a sampling function, and the first addition unit for adding the delayed and amplified signal waveform in an analog algorithm.
Since a final analog signal is output by generating an analog signal after performing a predetermined process such as an amplifying process, etc. on the continuously generated signal waveform of the sampling function, and since a low-pass filter is not used in outputting an analog signal, there is not the problem that the phase characteristic is deteriorated by variable phase characteristics depending on the frequency of a signal to be processed. In addition, since functions of local support are used as sampling functions, the number of pieces of digital data required to obtain an analog signal can be reduced. Furthermore, even when the number of pieces of digital data to be processed is reduced, no truncation error arises, thereby minimizing the distortion of an output waveform. In addition, as compared with the conventional oversampling method, it is not necessary to increase the speed of operating parts. Therefore, expensive parts are not required, and the parts cost can be successfully reduced.
In the sampling function generation unit generates continuous signal waveforms corresponding to the above mentioned sampling function, it is desirable that a B spline function generation unit generates a basic waveform corresponding to a B spline function, and a second generation unit generates a signal waveform by adding before or after the basic waveform on time axis an ancillary waveform obtained by attenuating and polarity-inverting the basic waveform. With the configuration and the operation of the sampling function generating unit, a signal waveform corresponding to a predetermined sampling function can be continuously obtained.
Especially, it is preferable to use a third order B spline function as the above mentioned B spline function, and as the sampling function, it is preferable to use a function, which can be differentiated only once over the whole range of local support. It is considered that it is necessary that various signals existing in the natural world have differentiability because the signals change smoothly. Nevertheless, it is considered that it is not necessary that the differentiability is not always infinite, and that it is possible to sufficiently approximate natural phenomena so long as the signals can be differentiated only once. Although there are many advantages such as smoothly interpolating sampling values, reducing the number of sampling values to be used in an interpolating process, etc., by using a sampling function of the local support that can be differentiated finite times, conventionally, it was considered that a sampling function fulfilling these conditions did not exist. Nevertheless, by the present inventor""s research, a function fulfilling the conditions described above is found.
The sampling function H(t) is defined by xe2x88x92F(t+1/2)/4+F(t)xe2x88x92F(txe2x88x921/2)/4 where the third order B spline function is F(t). That is, by the definition equation, using a signal waveform of a third order B spline function, each signal waveform is generated after attenuating, polarity-inverting, and shifting on a time axis the signal waveform (actually a delay because forwarding on a time axis is not possible), thereby obtaining a signal waveform corresponding to the above mentioned sampling function H(t).
To generate the above mentioned signal waveform of a sampling function, the above mentioned second generation unit includes a first inverse amplifying unit for attenuating and polarity-inverting the basic waveform output from a B spline function generation unit, and outputting a first signal waveform; a second delay unit for delaying the basic waveform by a predetermined time and outputting a second signal waveform; and a second inverse amplifying unit and a third delay unit for attenuating, polarity-inverting, and delaying by a predetermined time the basic waveform, and outputting a third signal waveform. It is preferable that the first, second and third signal waveforms are added up in an analog algorithm by a second addition unit to generate a signal waveform. Especially, assuming that the generation time of a B spline function output from the B spline function generation unit is set as 3T, it is preferable that the delay times of the second and third delay units are set as T/2 and T respectively, and the amount of attenuation by the first and second inverse amplifying units are set to 1/4 respectively. By generating each output obtained by these inverse amplifying units and delay units, a signal processing operation can be performed by the definition equation of the above mentioned sampling function H(t), and a sampling function can be continuously generated based on the signal waveform of the third order B spline function.
Since a third order B spline function is used as the above mentioned sampling function H(t), a differentiating process can be performed only once, and the function is a function of a local support whose value converges to 0 at t=xc2x12, thereby satisfying the above mentioned two conditions. Using the function H(t), discrete data can be smoothly interpolated with a smaller amount of computation, thereby performing a high-precision interpolating process.
In addition, the B spline function generation unit includes a convolution operation unit for performing a convolution operation on i-order B spline function waveforms. By inputting to the convolution operation unit a triangular wave which is a signal waveform of the second order B spline function, the signal waveform of a third order B spline function can be easily generated and output.
The B spline function generation unit includes two cascade connected convolution operation units for performing a convolution operation on i-order B spline function waveforms. By inputting a rectangular wave which is the signal waveform of a first order B spline function to the convolution operation unit at the first stage, the signal waveform of the third order B spline function can be easily generated and output.
The B spline function generation unit includes three cascade connected convolution operation units for performing a convolution operation on i-order B spline function waveforms. By inputting a pulse string to the convolution operation unit at the first stage, the signal waveform of the third order B spline function can be easily generated and output.
Practically, it is preferable that the convolution operation unit includes a fourth delay unit and a third inverse amplifying unit for delaying by a predetermined time and polarity-inverting an input signal waveform, a third addition unit for adding up the delayed and polarity-inverted signal waveform and the input signal waveform in an analog algorithm to generate a signal waveform, and an integration unit for time-integrating the generated signal waveform. By performing the process by each unit, the convolution operation can be performed on i-order B spline function signal waveforms, and the signal waveform of the third order B spline function can be continuously output on a time axis from the integration unit contained in the convolution operation unit at the last stage.